package kr.ac.kongju.gedl.item.vo;

import java.io.Serializable;
import java.util.Date;

import kr.ac.kongju.gedl.cmmn.vo.CommonVO;
import kr.ac.kongju.gedl.code.vo.CodeInfoVO;


public class ItemInfoVO  extends CommonVO{
	/**
	 * 
	 */
	private static final long serialVersionUID = -3025557410828744276L;
	private String itemId = "";	//아이템ID item@itemID
	private String itemName = "";	//아이템명 한글
	private String otherName = "";	//아이템 별칭 item@itemName
	private CodeInfoVO category = new CodeInfoVO();	//서비스분류
	private CodeInfoVO shape = new CodeInfoVO();	//형태분류
	private CodeInfoVO period = new CodeInfoVO();	//시대분류
	private String description = "";//아이템설명
	private String note = "";		//비고(대표url)
	private String xsl = "";		//스타일시트명
	private String url = "";		//대표Url
	private int seq = 1;			//순서
	private int shapeSeq = 1;			//형태순
	private int periodSeq = 1;			//시대순
	private String kristalTable = "";	//검색엔진 테이블명
	private String serviceYn = "N";		//서비스개시여부
	private String register = "";		//등록자
	private Date registedDate = new Date();//등록일
	private String modifier = "";		//수정자
	private Date modifiedDate;			//수정일
	
	private int xmlCount = 0;		//xml 수
	private int levelCount = 0;		//level 수
	private int fileCount = 0;		//이미지 수
	private int totalCount = 0;	//검색엔진 검색결과 수
	private int setId = -1;		//검색엔진 setId
	
	private String itemType;
	private String shapeCd; // 모바일 웹용 형태구분코드
	private String shapeNm; // 모바일 웹용 형태구분명
	private String periodCd; // 모바일 웹용 시대구분코드
	private String periodNm; // 모바일 웹용 시대구분명
	
	private String itemOtherName;
	
	public ItemInfoVO() {
		super();
	}
	public ItemInfoVO(String itemId) {
		super();
		this.itemId = itemId;
	}
	public String getItemId() {
		return itemId;
	}
	public void setItemId(String itemId) {
		this.itemId = itemId;
	}
	public String getItemName() {
		return itemName;
	}
	public void setItemName(String itemName) {
		this.itemName = itemName;
	}
	
	public String getOtherName() {
		return otherName;
	}
	public void setOtherName(String otherName) {
		this.otherName = otherName;
	}
	public CodeInfoVO getCategory() {
		return category;
	}
	public void setCategory(CodeInfoVO category) {
		this.category = category;
	}
	public CodeInfoVO getShape() {
		return shape;
	}
	public void setShape(CodeInfoVO shape) {
		this.shape = shape;
	}
	public CodeInfoVO getPeriod() {
		return period;
	}
	public void setPeriod(CodeInfoVO period) {
		this.period = period;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getNote() {
		return note;
	}
	public void setNote(String note) {
		this.note = note;
	}
	public int getSeq() {
		return seq;
	}
	public void setSeq(int seq) {
		this.seq = seq;
	}
	
	public int getXmlCount() {
		return xmlCount;
	}
	public void setXmlCount(int xmlCount) {
		this.xmlCount = xmlCount;
	}
	public int getLevelCount() {
		return levelCount;
	}
	public void setLevelCount(int levelCount) {
		this.levelCount = levelCount;
	}
	
	public String getXsl() {
		return xsl;
	}
	public void setXsl(String xsl) {
		this.xsl = xsl;
	}
	
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	public int getFileCount() {
		return fileCount;
	}
	public void setFileCount(int fileCount) {
		this.fileCount = fileCount;
	}
	
	public int getTotalCount() {
		return totalCount;
	}
	public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
	}
	public int getSetId() {
		return setId;
	}
	public void setSetId(int setId) {
		this.setId = setId;
	}
	
	public String getKristalTable() {
		return kristalTable;
	}
	public void setKristalTable(String kristalTable) {
		this.kristalTable = kristalTable;
	}
	public String getServiceYn() {
		return serviceYn;
	}
	public void setServiceYn(String serviceYn) {
		this.serviceYn = serviceYn;
	}
	public String getRegister() {
		return register;
	}
	public void setRegister(String register) {
		this.register = register;
	}
	public Date getRegistedDate() {
		return registedDate;
	}
	public void setRegistedDate(Date registedDate) {
		this.registedDate = registedDate;
	}
	public String getModifier() {
		return modifier;
	}
	public void setModifier(String modifier) {
		this.modifier = modifier;
	}
	public Date getModifiedDate() {
		return modifiedDate;
	}
	public void setModifiedDate(Date modifiedDate) {
		this.modifiedDate = modifiedDate;
	}
	public int getShapeSeq() {
		return shapeSeq;
	}
	public void setShapeSeq(int shapeSeq) {
		this.shapeSeq = shapeSeq;
	}
	public int getPeriodSeq() {
		return periodSeq;
	}
	public void setPeriodSeq(int periodSeq) {
		this.periodSeq = periodSeq;
	}
	
	
	
	
	public String getItemType() {
		return itemType;
	}
	public void setItemType(String itemType) {
		this.itemType = itemType;
	}
	public String getShapeCd() {
		return shapeCd;
	}
	public void setShapeCd(String shapeCd) {
		this.shapeCd = shapeCd;
	}
	public String getShapeNm() {
		return shapeNm;
	}
	public void setShapeNm(String shapeNm) {
		this.shapeNm = shapeNm;
	}
	public String getPeriodCd() {
		return periodCd;
	}
	public void setPeriodCd(String periodCd) {
		this.periodCd = periodCd;
	}
	public String getPeriodNm() {
		return periodNm;
	}
	public void setPeriodNm(String periodNm) {
		this.periodNm = periodNm;
	}
	
	public String getItemOtherName() {
		return itemOtherName;
	}
	public void setItemOtherName(String itemOtherName) {
		this.itemOtherName = itemOtherName;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((itemId == null) ? 0 : itemId.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ItemInfoVO other = (ItemInfoVO) obj;
		if (itemId == null) {
			if (other.itemId != null)
				return false;
		} else if (!itemId.equals(other.itemId))
			return false;
		return true;
	}
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("ItemInfoVO [category=");
		builder.append(category);
		builder.append(", description=");
		builder.append(description);
		builder.append(", fileCount=");
		builder.append(fileCount);
		builder.append(", itemId=");
		builder.append(itemId);
		builder.append(", itemName=");
		builder.append(itemName);
		builder.append(", kristalTable=");
		builder.append(kristalTable);
		builder.append(", levelCount=");
		builder.append(levelCount);
		builder.append(", modifiedDate=");
		builder.append(modifiedDate);
		builder.append(", modifier=");
		builder.append(modifier);
		builder.append(", note=");
		builder.append(note);
		builder.append(", otherName=");
		builder.append(otherName);
		builder.append(", period=");
		builder.append(period);
		builder.append(", periodSeq=");
		builder.append(periodSeq);
		builder.append(", registedDate=");
		builder.append(registedDate);
		builder.append(", register=");
		builder.append(register);
		builder.append(", seq=");
		builder.append(seq);
		builder.append(", serviceYn=");
		builder.append(serviceYn);
		builder.append(", setId=");
		builder.append(setId);
		builder.append(", shape=");
		builder.append(shape);
		builder.append(", shapeSeq=");
		builder.append(shapeSeq);
		builder.append(", totalCount=");
		builder.append(totalCount);
		builder.append(", url=");
		builder.append(url);
		builder.append(", xmlCount=");
		builder.append(xmlCount);
		builder.append(", xsl=");
		builder.append(xsl);
		builder.append("]");
		return builder.toString();
	}
}
